		Adebug Reloaded
	ALPHABETICAL COMMANDS SUMMARY

93 keyboard commands

ctl means control key
alt means alternate key
sft means (either) shift key

A:
	modify current window address
		no undo
B:
	binary file to load
		if an address (@) is specified,load at it
		otherwise,allocate and load
		can access it as a VAR
			which name is the filename (in UPPER case)
			(you can use the ctl_u command in command line)
			and which type is BL type (of course)
D:
	change drive/directory
		can use all directory features as . .. and so on
E:
	evaluate expression
		THE evaluator itself
G:
	search (Byte Word Long Ascii Instruction)
H:
	trace history
		shows the <user-defined> # of past instructions with registers context
I:
	set debugger internal IPL level (from 0 to 7)
		will update ADEBUG current Status Register IPL level
		if set to 6 or 7,the keyboard system routine will be replaced
		by our
J:
	jump to (same as pc=...)
K:
	keep registers
		no undo
L:
	list variables
		up/down arrow to scroll one line
		sft_up/sft_down arrow to scroll one page
		home/sft_home to go to top/bottom of labels
		p:print
		s:save to disk
		e:evaluate
M:
	macros (Record,Play,Load,Watch)
		one macro at one time
N:
	search next
O:
	output to Screen or RS232
P:
	disassemble to Printer or Disk
R:
	restore registers
		no undo,but can be used more than one time
S:
	save binary file
		save to filename,from @ if specified
			(you MUST then also specify the size to be saved)
		otherwise if a BL name is provided,save the BL according
		to its definition
T:
	Trace slow, until <expression>, until <instruction>
		stopped with sft_sft
U:
	run until ...
V:
	toggles logic(process)/physic(debugger) screen
		remember that even if you don't see ADEBUG's screen,
		you are still in it!
W:
	watch subroutine
		acts as a toggle between current pc and destination location
Y:
	yank buffer
	(not yet implemented)
Z:
	zoom window
	(not yet implemented)
tab:
	cycle current window
		doesn't go on window 1 (why should it?)
esc:
	in alt_z or alt_e mode,come back to main mode
		mainly,escapes all modes/functions
help:
	prints to screen current program, buffers and breakpoints infos
		current program info:
		current program text data bss and sym sizes
		current program text data bss @

		buffers infos:
		all buffers sizes,maximum and current

		the breakpoint list
			up arrow:scroll up one break
			down arrow:same as above but down
			sft_up arrow:scroll up one page
			sft_down arrow:same as above but down
			home:go to first break
			sft_home:same as above but last
			p:print
			s:save to disk
			e:evaluate
up arrow (or < for left-hand users):
	set current window @ to lower
		depends of window mode and size
down arrow (or > for left-hand users):
	same as above but upper
sft_up arrow (or sft_space for lazy people):
	scrolls up one page
sft_down arrow (or space for lazy people):
	same as above but down
space:
	same as above
sft_space:
	same as above but up
left:
	substracts one byte from current window @
right:
	same as above but add

ctl_up:
	if window is splitted, resize window in up direction
ctl_down:
	same as above but down
ctl_a:
	set breakpoint to next instruction and run
ctl_b:
	set / remove default breakpoint on current window address
		default is default break vector # set in preferences (VEC #)
ctl_c:
	ends current process|ends debugger
		no undo
		uses PTERM (GEMDOS) call to terminate either process
		so be sure GEMDOS and TRAP #1 is useable
ctl_d:
	TRAP catch
		if only the TRAP # is specified,the next call to this TRAP #
		will be caught without check of function #
ctl_e:
	reinstall (all or only one) exceptions
		if 'no' chosen,ask for one exception number to be caught
ctl_f:
	force branch if the pc is on a branch instruction (bsr,jsr,bcc,jmp)
ctl_j:
	jump to current window
ctl_k:
	kill all breakpoints
		no undo
ctl_l:
	load relocatable file
		to load the program to be debugged
		relocatable file contains 3 things:
		-a header with $601a at the beginning,containing TEXT,DATA,BSS and
			SYM sizes
		-a program containing a TEXT section,and optional DATA,BSS
			and SYM sections
		-a relocation table (or not)
		check is done with the first condition,so you can load
			linkable files (.o in DRI format or .bin in GST format)
		the filename is expanded, and .prg .tos .ttp .app is added if necessary
ctl_o:
	toggles low res/med res (on color monitor only)
ctl_p:
	set debugger preferences
		can scroll with up or down arrow
ctl_r:
	run
		gives hand to process without anything else
ctl_t:
	if pc is on a bsr jsr performs ctl_a, otherwise performs ctl_z
ctl_u:
	run until current window
ctl_x:
	set a break on the instruction following the last bsr jsr executed
ctl_z:
	trace once
		it just traces
ctl_0:
	set current window address to a0
ctl_1:
	same as above with a1
ctl_2:
	same as above with a2
ctl_3:
	same as above with a3
ctl_4:
	same as above with a4
ctl_5:
	same as above with a5
ctl_6:
	same as above with a6
ctl_7:
	same as above with a7 (USP)
ctl_8:
	same as above with SSP
ctl_9:
	same as above with PC
shift_ctl_0:
	set current window address to {a0}
	if {a0} is odd or unreadable,report an error
shift_ctl_1:
	same as above with a1
shift_ctl_2:
	same as above with a2
shift_ctl_3:
	same as above with a3
shift_ctl_4:
	same as above with a4
shift_ctl_5:
	same as above with a5
shift_ctl_6:
	same as above with a6
shift_ctl_7:
	same as above with a7 (USP)
shift_ctl_8:
	same as above with SSP
shift_ctl_9:
	same as above with PC

alt_a:
	ASCII file to load
		same as above,and set current window type to ASCII mode
alt_b:
	set breakpoint
	<breakpoint @>,<expression to evaluate>,<permanency>,<vector #>
		if @ is omitted, current window @ is taken
		if eval is missing, -1 is taken
		if permanency is omitted, breakpoint will be permanent
		if vector # is missing, default break vector # (VEC #) is taken
	 <@>,<eval>,1,<vector #>	will set a permanent breakpoint
	 <@>,<eval>,,<vector #>	will set a permanent breakpoint
	 <@>,<eval>,0,<vector #>	will set a breakpoint as in ctl_b
	 Eval can be:
	 i=i-1+{_hz_200}+(j=3)
	It puts 3 in the variable j.
	It then affects i with the previous value of i minus 1 and adds the
	content (in a long format, which is default for {}) of _hz_200.
	Then it adds to j the result of an affectation (wich is always 0).
	Note the 'C' style syntax for affecting a value (=).
	 {mfp+7}==12
	 for instance.
	 In this case, the breakpoint will be removed only if {mfp+7} contains 12.
	 Note the 'C' style syntax for testing a value (==).
alt_d:
	print current directory and path
		current directory is printed at bottom of screen
		file length is in decimal bytes
		folders are denoted by 
		write protected, hidden and system files and folders are listed too
alt_e:
	edit memory in window
		cannot (of course) be used in ASCII mode
alt_l:
	lock window to <expression>
		<expression> is -really- every expression you want,as in E
alt_m:
	print free memory
		in decimal bytes
alt_n:
	search previous
alt_p:
	print current window
	print according to window mode and size
alt_s:
	split window (one window in two windows) or back to one window
		window 2 splits in window 2 and window 4
		window 3 splits in window 3 and window 5
		window 1 disappears! and the other windows become higher
			alt_1 to bring back window 1
alt_t:
	cycle current window mode (disassembly, memory, ASCII)
		not on window 2,which is always in disassembly mode pc locked
		on window 1,cycles between registers mode,memory dump and
		ASCII mode
alt_v:
	set a new var
		use the same syntax as ADEBUG.VAR in one line
alt_x:
	return fast from bsr jsr
alt_z:
	full screen (current) window
		esc or alt_z to come back
alt_@:
	prints copyright string
alt_1:
	go to window 1
		it is the only way to set window 1 to current
alt_2:
	same as above with window 2
alt_3:
	same as above with window 3
alt_4:
	same as above with window 4
alt_5:
	same as above with window 5
ctl_alt_i:
	not current palette
ctl_alt_r:
	run routine ....
ctl_alt_del:
	warm reset
sft_ctl_alt_del:
	cold reset
F1:
	Set mark on current window @
F2:
	Exchange current window @ and mark
F8:
	switch to low res (from mono monitor,with electronic switch only)
F9:
	same as above to mid res
F10:
	switch to high res (from color monitor,with electronic switch only)

Nota Bene:
	Don't try to switch between color and mono monitor without electronic switch
	There can be some troubles on the TT since we couldn't test.
	We make one version per country.
	So, strange things may happen on foreign keyboards,
	as ctl_m which could be ctl_,

	NOTES FOR DEMO VERSION:
	-The preferences file ADEBUG.SAV is not loaded
	-It is not possible to load nor save anything except adebug.var and adebug.mac.
	(ctl_l,a,b,s and macro load are removed)
	-it is not possible to save preferences (in ctl_p)

